package org.dromara.Nyt7BusinessEntity.domain.bo;

import org.dromara.Nyt7BusinessEntity.domain.Nyt7BusinessEntity;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 经营主体业务对象 nyt_7_business_entity
 *
 * @author Lion Li
 * @date 2025-01-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Nyt7BusinessEntity.class, reverseConvertGenerate = false)
public class Nyt7BusinessEntityBo extends BaseEntity {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 主体名称
     */
    @NotBlank(message = "主体名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String entityName;

    /**
     * 法人姓名
     */
    @NotBlank(message = "法人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String legalPersonName;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phoneNumber;

    /**
     * 主体类型
     */
    @NotBlank(message = "主体类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String entityType;

    /**
     * 等级
     */
    @NotBlank(message = "等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private String level;

    /**
     * 渠道来源
     */
    @NotBlank(message = "渠道来源不能为空", groups = { AddGroup.class, EditGroup.class })
    private String channelSource;


    /**
     * 市
     */
    @NotBlank(message = "市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String city;

    /**
     * 区/县
     */
    @NotBlank(message = "区/县不能为空", groups = { AddGroup.class, EditGroup.class })
    private String districtCounty;

    /**
     * 认证状态
     */
    @NotBlank(message = "认证状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String certificationStatus;

    /**
     * 经营业务
     */
    private String businessScope;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 出生日期
     */
    private Date birthDate;

    /**
     * 学历
     */
    private String education;

    /**
     * 备用联系方式
     */
    private String backupContact;

    /**
     * 身份证号
     */
    private String idCardNumber;

    /**
     * 详细所在地
     */
    private String detailedAddress;

    /**
     * 工商执照号
     */
    private String businessLicenseNumber;

    /**
     * 注册资金
     */
    private Long registeredCapital;

    /**
     * 工商注册时间
     */
    private Date businessRegistrationDate;


}
